package com.wootion.cims.module.communityresidence.occupancy.excel;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.ContentFontStyle;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.List;

/**
 * @Author: LanQiang
 * @Date: 2022/12/21/17:46
 * @Description: 作用xxx
 */
@Data
@ApiModel(value = "入住列表excel导出条件")
@NoArgsConstructor
@AllArgsConstructor
@Builder
@ExcelIgnoreUnannotated
@HeadFontStyle(fontHeightInPoints = 12)
@HeadRowHeight(value = 25)
public class ExcelRules implements Serializable {
    private static final long serialVersionUID = 871681926276361091L;

    @ApiModelProperty(value = "姓名/手机号/身份证号")
    private String keyWord;

    @ApiModelProperty(value = "住宅id数组")
    private List<String> ids;

    @ApiModelProperty(value = "住宅id")
    private String id;
    /**
     * 住宅类别
     */
    @ApiModelProperty(value = "住宅类别")
    private String residenceClasses;

    /**
     * 房屋类型
     */
    @ApiModelProperty(value = "房屋类型")
    private String residenceCategory;

    /**
     * 社区id
     */
    @ApiModelProperty(value = "社区id")
    private String communityId;
    /**
     * 小区id
     */
    @ApiModelProperty(value = "小区id")
    private String plotId;

    /**
     * 详细地址
     */
    @ApiModelProperty(value = "详细地址")
    private List<String> detailedAddress;
    /**
     * 门牌号
     */
    @ApiModelProperty(value = "门牌号")
    private String houseNumber;

    /**
     * 入住人数最小数
     */
    @ApiModelProperty(value = "入住人数最小数")
    private Integer minNumber;

    /**
     * 入住人数最大数
     */
    @ApiModelProperty(value = "入住人数最大数")
    private Integer maxNumber;

    /**
     * 社区id数组，此属只在查询是使用，和前端无关
     */
    private List<String> communityIds;

    /**
     * 业主id数组
     */
    private List<String> personIds;

    /**
     * 业主id
     */
    private String personId;

    private String ownerId;



    @ExcelProperty(value = "房屋类型",index = 0)
    @ContentFontStyle
    @ColumnWidth(value = 12)
    private String categoryType;

    @ExcelProperty(value = "所属社区",index = 1)
    @ColumnWidth(value = 12)
    private String communityName;

    @ExcelProperty(value = "所属小区",index = 2)
    @ColumnWidth(value = 12)
    private String plotName;

    @ExcelProperty(value = "详细地址",index = 3)
    @ColumnWidth(value = 12)
    private String address;

    @ExcelProperty(value = "门牌号",index = 4)
    @ColumnWidth(value = 11)
    private String houseNumbers;

    @ExcelProperty(value = "住宅类别",index = 5)
    @ColumnWidth(value = 12)
    private String classes;

    @ExcelProperty(value = "业主姓名",index = 6)
    @ColumnWidth(value = 10)
    private String personName;

    @ExcelProperty(value = "入住人员",index = 7)
    @ColumnWidth(value = 21)
    private String stayPersons;

    @ExcelProperty(value = "入住人数",index = 8)
    @ColumnWidth(value = 12)
    private Long stayPersonNumber;

    @ExcelProperty(value = "其他备注",index = 9)
    @ColumnWidth(value = 10)
    private String remark;

}
